ESP8266借助Blinker接入小爱详细教程 |
您所在的位置:网站首页 › 小爱同学 读小说 › ESP8266借助Blinker接入小爱详细教程 |
前言
网上已有很多该教程,但从我刚开始入坑时按照那些教程做都没有成功,大部分都是对流程没有介绍完整还有一些细节没有提到,对于刚入坑的小白我来说是一个巨大的挑战。我在 Blinker官网学习了他们开放的接口后并且自己实验成功后,写下了这篇博客,帮助有需要的小伙伴避避坑。 文章内容比较长,有基础的小伙伴可以选择性看。为了写这篇教程也花费我较长时间,这也是我第一次写,对图片编辑还不太会,如果有什么不足的地方请批评指正。最后,如果有用的话就为我点一个赞吧。 整体流程 一、搭建ESP8266开发环境ESP8266的开发方法很多开发环境也比较多,我选择的是用Arduino IDE烧写程序的方式开发的。(windows电脑) 二、为ESP8266烧录程序安装驱动ESP8266的多种多样,在这里我选择的是ESP8266 NODEMCU开发板。这块板子有两种串口芯片,需要不同的驱动。(有的电脑会自动安装驱动程序,有的不会然后就识别不到ESP8266开发板) 三、ESP8266程序的编辑与烧录用ESP8266库函数和Blinker库函数编辑需要的功能函数,再烧录进ESP8266。 四、点灯APP的配置 五、米家APP和小爱训练的配置 一、搭建ESP8266开发环境 1.1安装Arduino IDE到Arduino官网下载安装包。 在这里我们选择下载就好了,当然您也可以选择为Arduino的开源精神捐献。 下载好后打开文件安装就好了,这里就不做演示了,如果有不会的小伙伴可以去搜索其他的安装教程。 1.2安装ESP8266库和Blinker库 1.2.1安装ESP8266库打开Arduino IDE(我安装的是1.8.19的版本,和最新的版本可能有点不一样),然后选择“文件”,再点击首选项。 在“附加开发板管理器网址”中粘贴: http://arduino.esp8266.com/stable/package_esp8266com_index.json 如下图: 在工具中选中“开发板”点击“开发板管理器...”,搜索“ESP8266”。 选择版本点击安装就好了。 安装好后在开发板选项中就会出现ESP8266的选项。然后我们选择NodeMCU 0.9就好了。 因为我们要连接点灯科技的服务器,就需要安装他们提供的开发软件包。 到点灯科技官网下载软件包。 打开Arduino IDE,在“项目”中选择“加载库”,点击“添加.ZIP库”,在文件中找到刚下载的软件包。 然后就可以在“文件”“示例”的最下面第三方库中看到Blinker。 到此软件包已安装完成。 二、为ESP8266安装驱动NodeMCU开发板的串口芯片有CH340和CP210两种,前者要便宜点,相应的驱动程序应该也有所不同,根据自己的开发板串口芯片选择就好了。 CP210驱动:官网下载,下载第一个安装就好了。 CH340驱动:官网下载,也是下载安装就好了。 安装好驱动程序后您可以用USB线连接ESP8266和电脑,您就可以在设备管理器中看到您的开发板了。同时要注意这里的端口号,在烧录程序时要选择对应的端口号,我这里是COM3. 到此开发环境已经搭建好了,您想让ESP8266做任何事都可以做了。 三、ESP8266程序的编辑与烧录打开Arduino IDE在“示例”,“Blinker”,“Blinker_Hello”中选择“Hello_WiFi” 根据Blinker官方文档的介绍,我们需要对示例程序做一些修改,来连接小爱同学。 下面是完整代码: #define BLINKER_MIOT_LIGHT//用于连接小爱的宏定义 #define BLINKER_WIFI//用于连接WiFi的宏定义 #include //Blinker第三方库 char auth[] = "Your Device Secret Key";//您的Blinker密钥 char ssid[] = "Your WiFi network SSID or name";//WiFi名称 char pswd[] = "Your WiFi network WPA password or WEP key";//WiFi密码 // 新建组件对象 BlinkerButton Button1("btn-abc");//创建一个按键(此按键为开关按键,引号中的名字需要与BlinkerAPP中的按键名字相对应) BlinkerNumber Number1("num-abc");//计数,可以自己尝试 int counter = 0; // 按下按键即会执行该函数 void button1_callback(const String & state) { BLINKER_LOG("get button state: ", state); if (state == "on") { //按键被点击 Button1.color("#FF0000"); // 返回按键颜色为红色 Button1.text("已开灯"); //设置按键的描述 digitalWrite(LED_BUILTIN,LOW); // 将LED灯状态反转,灭变亮 Button1.print("on"); //将按键状态信息输出给电脑上显示 } else if (state == "off") { //按键被按下 Button1.color("#FFFF00"); //返回按键颜色显示为黄色 Button1.text("已关灯"); //Button1返回文本信息 digitalWrite(LED_BUILTIN, HIGH); // 将LED灯状态反转,亮变灭 Button1.print("off"); //打印Button1状态信息 } } // 如果未绑定的组件被触发,则会执行其中内容 void dataRead(const String & data) { BLINKER_LOG("Blinker readString: ", data); counter++; Number1.print(counter); } //小爱同学回调函数 void miotPowerState(const String & state) { BLINKER_LOG("need set power state: ", state); if (state == "on") { //打开灯 digitalWrite(LED_BUILTIN, LOW); //改变灯的状态 BlinkerMIOT.powerState("on"); BlinkerMIOT.print(); } else if (state == "off") { digitalWrite(LED_BUILTIN, HIGH); BlinkerMIOT.powerState("off"); BlinkerMIOT.print(); } } void setup() { // 初始化串口 Serial.begin(115200); BLINKER_DEBUG.stream(Serial); BLINKER_DEBUG.debugAll(); // 初始化有LED的IO pinMode(LED_BUILTIN, OUTPUT); digitalWrite(LED_BUILTIN, HIGH); //注册小爱同学回调函数 BlinkerMIOT.attachPowerState(miotPowerState); // 初始化blinker Blinker.begin(auth, ssid, pswd); Blinker.attachData(dataRead); Button1.attach(button1_callback); } void loop() { Blinker.run(); }代码中需要修改为您自己信息的两个地方: char auth[] = "Your Device Secret Key";//您的Blinker密钥 char ssid[] = "Your WiFi network SSID or name";//WiFi名称 char pswd[] = "Your WiFi network WPA password or WEP key";//WiFi密码 // 新建组件对象 BlinkerButton Button1("btn-abc");在“工具”,“端口”中选择您的端口号(设备管理器中可以查看)。 然后点击上传。 上传完成后显示如下(版本不同可能样式不一样)。 到此代码已编辑烧录完成。 四、点灯APP的配置首先我们需要到官网下载APP并安装。(选择对应的手机系统)(小米手机用户请忽略安全提醒) 在操作之后的流程之前您需要先注册一个点灯的账号。 打开点灯APP,点击添加设备。 选择独立设备 选择网络接入 点击复制key,后面粘贴到您的程序中。 点击示例界面或者跳过示例都可。 点击编辑 点击按键 点击创建的按键 组件键名要与代码中的一致,选择开关按键,最后保存。 最后确保代码中的密钥和自己的一致,WiFi密码和名称要正确,然后烧录到ESP8266上。 到此APP和代码配置完毕。 五、米家APP和小爱训练的配置在米家中找到“我的”,点击“添加其他平台”,然后搜索“点灯科技”,然后点击绑定账号。把程序下载到ESP8266中等待连好网。在米家中刚注册的点灯科技中点击“同步设备”,就可以看到上面创建的设备。如下图: 最后一步,打开“小爱同学”,点击“训练计划”,点击“个人训练”,再点击“+”创建训练。 后面就是一些简单的添加操作。 最后就试着对小爱说一句吧。 如果您比较感兴趣,您可以把控制LED灯换成控制继电器,这样您就可以控制家电了。(220V高压电注意安全) 感谢您的观看。 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |